<?php
class KM_Skeleton_Inicio extends ControladorKakoonAdmin
{
	public function __construct()
	{
		parent::__construct();

		$this->load->helper ("km_skeleton/km_skeleton_kakoon");
	}

	public function subir ($identificador)
	{
		$datos     = $this->getObjetoDatos($identificador);
		$modelo    = new KM_Skeleton_Modelo(getAccesoBD());

		$modelo->sube($datos);

		redirect(site_url($this->getBaseUrl()));
		exit();
	}

	public function bajar ($identificador)
	{
		$datos     = $this->getObjetoDatos($identificador);
		$modelo    = new KM_Skeleton_Modelo(getAccesoBD());

		$modelo->baja($datos);
		 
		redirect(site_url($this->getBaseUrl()));
		exit();
	}

	public function getObjetoDatos ($identificador = Datos::NO_PERSISTIDO)
	{
		$retorno = new KM_Skeleton_Contenido (getAccesoBD(), $identificador);
		$retorno->setPropiedad ("texto",  "insertar texto...");
		$retorno->setPropiedad ("titulo", "insertar titulo...");

		return $retorno;
	}

	public function getBaseUrl()
	{
		return "/administracion/km_skeleton_inicio/";
	}

	public function getParametrosFormulario ($identificador = Datos::NO_PERSISTIDO)
	{
		return new ParametrosFormularioKakoon(array ("posicion"));
	}

	public function getParametrosListado()
	{
		$botones   = array();
		$anulados  = array("posicion", "texto");
		$noFiltrar = array("posicion", "foto");

		$mensajeBorrar  = "Desea realmente borrar el contenido seleccionado ??";
		$mensajeSubir   = "Desea realmente subir de posicion el contenido seleccionado ??";
		$mensajeBajar   = "Desea realmente bajar de posicion el contenido seleccionado ??";

		array_push($botones, new AccionBotoneraConfirmacion("Subir",  site_url($this->getBaseUrl() ."subir/")."/", $mensajeSubir));
		array_push($botones, new AccionBotoneraConfirmacion("Bajar",  site_url($this->getBaseUrl() ."bajar/")."/", $mensajeBajar));
		array_push($botones, new AccionBotonera("Editar",             site_url($this->getBaseUrl() ."gestionar/")."/"));
		array_push($botones, new AccionBotoneraConfirmacion("Borrar", site_url($this->getBaseUrl() ."borrar/")."/", $mensajeBorrar));

		return new ParametrosListadoKakoon($botones, array(), $anulados, $noFiltrar);
	}

	protected function analizaVistaListado (TablaKakoon $vista)
	{
		$vista->setOrden("Posicion", Orden::MODO_DESCENDENTE);

		return $vista;
	}

    protected function analizaVistaFormulario (FormularioKakoon $vista)
    {
        $vista->setTitulo ("Skeleton ( Gestion Contenido )");
        
        return $vista;
    }
	
	protected function analizaDatosFormulario (FormularioKakoon $vista, Datos $datos)
	{
		$modelo = new KM_Skeleton_Modelo(getAccesoBD());
		$datos->setPropiedad ("posicion", $modelo->generaPosicion());
		 
		return $datos;
	}
}
?>